package com.djq.hhc.model.base;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: dadd7
 * @Date: 2023/02/25/下午 8:14
 * @Description:
 */

@Data
public class BaseEntity implements Serializable {

    @TableId(type = IdType.AUTO)
    private Long id;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    //逻辑删除(1:已删除，0:未删除)
    @JsonIgnore //@JsonIgnore作⽤:在json序列化时将pojo中的⼀些属性忽略掉，标记在属性或者⽅法上，返回的json数据即不包含该属性。
    @TableLogic //@TableLogic：表示逻辑删除注解
    @TableField("is_deleted")
    private Integer isDeleted;

    @TableField(exist = false)
    private Map<String,Object> param = new HashMap<>();
}

/**
 * 基础类，都继承这个类，这个类包括创建时间，修改时间，删除键，id,需要序列化
 */
